package com.mdd.admin.service.time;

import com.mdd.admin.validate.common.PageParam;
import com.mdd.admin.validate.time.OrderTimeParam;
import com.mdd.admin.validate.time.TimeParam;
import com.mdd.admin.vo.time.OrderTimeListVo;
import com.mdd.admin.vo.time.OrderTimeDetailVo;
import com.mdd.common.core.PageResult;

import java.util.Map;

/**
 * 订单预约时间服务接口类
 */
public interface IOrderTimeService {

    /**
     * 订单预约时间列表
     *
     * @param pageParam 分页参数
     * @param params 搜索参数
     * @return PageResult<OrderTimeVo>
     */
    PageResult<OrderTimeListVo> list(PageParam pageParam, Map<String, String> params);

    /**
     * 订单预约时间详情
     *
     * @param id 主键ID
     * @return OrderTime
     */
    OrderTimeDetailVo detail(Long id);

    /**
     * 订单预约时间新增
     *
     * @param orderTimeParam 参数
     */
    void add(OrderTimeParam orderTimeParam);

    /**
     * 订单预约时间编辑
     *
     * @param orderTimeParam 参数
     */
    void edit(OrderTimeParam orderTimeParam);

    /**
     * 订单预约时间删除
     *
     * @param id 主键ID
     */
    void del(Long id);

    void batchDel(Long[] ids);

    /**
     * @return 获取订单日期
     */
    Map<String, Object> getOrderTime();

    /**
     * @param timeParam 时间参数
     */
    void setTime(TimeParam timeParam);

}
